package per.vivicat;

public class String3 {
	public static void main(String[] args){
		int[] arr=new int[]{1, 2, 2, 6, 99, 99, 7};
		
	}
	public static int countYZ(String str) {
		int count=0;
		str=str.toLowerCase();
		for(int i=0;i<str.length()-1;i++){
			if(str.charAt(i)=='y'||str.charAt(i)=='z'){
				if(!Character.isLetter(str.charAt(i+1)))
					count++;
			}
		}
		if(str.endsWith("y")||str.endsWith("z")){
			count++;
		}
		return count;
	}
	
	public static String withoutString(String base, String remove) {
		String baseL=base.toLowerCase();
		String remove1=remove.toLowerCase();
		int bl=base.length();
		int rl=remove1.length();
		int a=0;
		for(int i=0;i<=bl-rl;i++){
			if(baseL.substring(i, i+rl).equals(remove1)){
				base=base.substring(0, i)+base.substring(i+rl);
				baseL=baseL.substring(0, i)+baseL.substring(i+rl);
				i=-1;
				bl=base.length();
			}
		}
		return base;
	}
	
	public static boolean equalIsNot(String str) {
		int count1=0,count2=0;
		for(int i=0;i<str.length()-2;i++){
			if(str.substring(i, i+3).equals("not")){
			count1++;i+=2;
			}
		}
		for(int i=0;i<str.length()-1;i++){
			if(str.substring(i, i+2).equals("is")){
			count2++;i+=1;
			}
		}
		return count1==count2;
	}
	
	public boolean gHappy(String str) {
		if(str.length()>=2||str!="g"){
			int i;
			
			if(str.startsWith("g"))i=1;
			else i=0;
				
			for(;i<str.length();i++){
				if(i+1!=str.length()){
					if(str.charAt(i)=='g')
						if(str.charAt(i-1)!='g'
							&&str.charAt(i+1)!='g')
							return false;
				}
				else
					return !(str.charAt(i)=='g'
						&&str.charAt(i-1)!='g');
			}
			return true;
		}
		return false;
	}
	
	public int countTriple(String str) {
		String strsub;
		int count=0;
		for(int i=0;i<=str.length()-3;i++){
			strsub=""+str.charAt(i)+str.charAt(i)+str.charAt(i);
			if(str.substring(i, i+3).equals(strsub))
				count++;
		}
		return count;
	}
	
	public int sumDigits(String str) {
		int sum=0;
		for(int i=0;i<str.length();i++){
			if(Character.isDigit(str.charAt(i)))
				sum+= Integer.parseInt(str.substring(i, i+1));
		}
		return sum;
	}
	
	public static String sameEnds(String string) {
		int sl=string.length();
		if(sl>=2){
			for(int i=sl/2;i>0;i--){
					if(string.substring(0, i).equals(string.substring(sl-i, sl)))
						return string.substring(0, i);
			}
		}
		return "";
	}
	
	public String mirrorEnds(String string) {
		int sl=string.length();
		String str="";
			for(int i=0;i<sl;i++){
				if(string.charAt(i)==string.charAt(sl-i-1))
					str=str+string.charAt(i);
				else break;
		}
		return str;
	}
	
	public static int maxBlock(String str) {
		String st="";
		String mst="";
		while(str.length()>1){
			if(str.charAt(0)==str.charAt(1)){
				st=st+str.charAt(0);
			}
			else {
				if(st.length()>=mst.length()){
					st=st+str.charAt(0);
					mst=st;}
				st="";
				}
			str=str.substring(1);
		}
		if(mst.length()!=0&&st.length()>=mst.length()&&str.charAt(0)==st.charAt(0)){
			mst=st+str.charAt(0);
		}
		return mst.length();	
	}
	
	public int sumNumbers(String str) {
		String num="0";
		int sum=0;
		for(int i=0;i<str.length();i++){
			if(Character.isDigit(str.charAt(i)))
				num=num+str.charAt(i);
			else{
				sum+=Integer.parseInt(num);
				num="0";
			}
		}
		sum+=Integer.parseInt(num);
		return sum;
	}
	
	public String notReplace(String str) {
		if(str.startsWith("is"))
			if(str.length()==2||(str.length()>2
					&&!Character.isLetter(str.charAt(2))))
				str="is not"+str.substring(2);
		for(int i=0;i<str.length();i++){
			if(!Character.isLetter(str.charAt(i))){
				if(str.substring(i+1, i+3).equals("is")
						&&!Character.isLetter(str.charAt(i+3))){
					str=str.substring(0, i+3)
							+" not"+str.substring(i+3);
					i+=3;
				}
			}
		}
		if(str.endsWith("is")
				&&!Character.isLetter(str.charAt(str.length()-3)))
			str=str+" not";
		return str;
	}
}
